#ifndef __comment_h__
#define __comment_h__

/* Forward Declarations */

struct ENUMDESC;

/* header files for imported files */
#include "element.h"

#ifndef __IHTMLCommentElement_FWD_DEFINED__
#define __IHTMLCommentElement_FWD_DEFINED__
typedef interface IHTMLCommentElement IHTMLCommentElement;
#endif     /* __IHTMLCommentElement_FWD_DEFINED__ */

#ifndef __IHTMLCommentElement2_FWD_DEFINED__
#define __IHTMLCommentElement2_FWD_DEFINED__
typedef interface IHTMLCommentElement2 IHTMLCommentElement2;
#endif     /* __IHTMLCommentElement2_FWD_DEFINED__ */

#ifndef __IHTMLCommentElement_INTERFACE_DEFINED__

#define __IHTMLCommentElement_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLCommentElement;


MIDL_INTERFACE("3050f20c-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCommentElement : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE put_text(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_text(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_atomic(
         /* [in] */ long v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_atomic(
         /* [out] */ long * p) = 0;

};

#endif     /* __IHTMLCommentElement_INTERFACE_DEFINED__ */


#ifndef __IHTMLCommentElement2_INTERFACE_DEFINED__

#define __IHTMLCommentElement2_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLCommentElement2;


MIDL_INTERFACE("3050f813-98b5-11cf-bb82-00aa00bdce0b")
IHTMLCommentElement2 : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE put_data(
         /* [in] */ BSTR v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_data(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_length(
         /* [out] */ long * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE substringData(
            /* [in] */ long offset,/* [in] */ long Count,/* [out] */ BSTR* pbstrsubString) = 0;

    virtual HRESULT STDMETHODCALLTYPE appendData(
            /* [in] */ BSTR bstrstring) = 0;

    virtual HRESULT STDMETHODCALLTYPE insertData(
            /* [in] */ long offset,/* [in] */ BSTR bstrstring) = 0;

    virtual HRESULT STDMETHODCALLTYPE deleteData(
            /* [in] */ long offset,/* [in] */ long Count) = 0;

    virtual HRESULT STDMETHODCALLTYPE replaceData(
            /* [in] */ long offset,/* [in] */ long Count,/* [in] */ BSTR bstrstring) = 0;

};

#endif     /* __IHTMLCommentElement2_INTERFACE_DEFINED__ */



EXTERN_C const GUID GUID_HTMLCommentElement;



EXTERN_C const GUID DIID_DispHTMLCommentElement;


#ifndef _CCommentElement_PROPDESCS_
EXTERN_C const PROPERTYDESC_BASIC s_propdescCCommentElementtext;
EXTERN_C const PROPERTYDESC_NUMPROP s_propdescCCommentElementatomic;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCCommentElementdata;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCCommentElementlength;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCCommentElementsubstringData;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCCommentElementappendData;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCCommentElementinsertData;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCCommentElementdeleteData;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCCommentElementreplaceData;

#endif


#endif /*__comment_h__*/

